x86-64: one more adjustment for Fam10 MMCONF enabling
authorKeir Fraser <keir@xen.org>
Fri, 19 Nov 2010 13:24:00 +0000 (13:24 +0000)
committerKeir Fraser <keir@xen.org>
Fri, 19 Nov 2010 13:24:00 +0000 (13:24 +0000)
The BASE_VALID() macro needs adjustment to match the other changes
done to the original Linux code (which are all queued to be merged
into Linus' tree), plus per Hypertransport specification the range
0xff00000000-0xffffffffff also needs to be excluded.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/arch/x86/x86_64/mmconf-fam10h.c

index d17a2206586c165c5f87181452f63e2c3b0ecf61..7c204ce87fb97a2c156f5226e1662e57dfb60055 100644 (file)
@@ -33,7 +33,7 @@ static struct pci_hostbridge_probe pci_probes[] __cpuinitdata = {
 #define SIZE (UNIT << 8)
 /* need to avoid (0xfd<<32) and (0xfe<<32), ht used space */
 #define FAM10H_PCI_MMCONF_BASE (0xfcULL<<32)
-#define BASE_VALID(b) ((b != (0xfdULL << 32)) && (b != (0xfeULL << 32)))
+#define BASE_VALID(b) ((b) + SIZE <= (0xfdULL<<32) || (b) >= (1ULL<<40))
 static void __init get_fam10h_pci_mmconf_base(void)
 {
        unsigned int i, j, bus, slot, hi_mmio_num;